<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<!-- HTML file produced from file: manual.tex --
 -- using Hyperlatex v 2.3.1 (c) Otfried Cheong--
 -- on Emacs 21.4 (patch 15) "Security Through Obscurity" XEmacs Lucid, Fri Dec  3 20:36:29 2004 -->
<HEAD>
<TITLE>Scheme 48 Manual -- Access to POSIX</TITLE>

</HEAD><BODY BGCOLOR="#ffffff">
<EM>Scheme 48 Manual</EM> | <A HREF="s48manual.html#top_node">Contents</A> | In Chapter: <A HREF="s48manual.html">Top</A><BR>Previous: <A HREF="s48manual_78.html">Access to POSIX</A> | Next: <A HREF="s48manual_78.html">Access to POSIX</A>
<H1>Access to POSIX</H1>
<P>This chapter describes Scheme&nbsp;48's interface to the POSIX C calls
 <A HREF="s48manual_90.html#POSIX">[1]</A>.
Scheme versions of most of the functions in POSIX are provided.
Both the interface and implementation are new and are likely to
 change in future releases.
Section&nbsp;<A HREF="s48manual_88.html">*</A> lists which Scheme functions
 call which C functions.
<P>Scheme&nbsp;48's POSIX interface will likely change significantly in the
 future.
The implementation is new and may have significant bugs.
<P>The POSIX bindings are available in several structures:
<P><BLOCKQUOTE><CENTER>
<TABLE><TR><TD COLSPAN="1" ALIGN="LEFT">

 <CODE>posix-processes</CODE> </TD><TD COLSPAN="1" ALIGN="LEFT"> fork, exec, and friends </TD></TR>
<TR><TD COLSPAN="1" ALIGN="LEFT">
<CODE>posix-process-data</CODE> </TD><TD COLSPAN="1" ALIGN="LEFT"> information about processes </TD></TR>
<TR><TD COLSPAN="1" ALIGN="LEFT">
<CODE>posix-files</CODE> </TD><TD COLSPAN="1" ALIGN="LEFT"> files and directories </TD></TR>
<TR><TD COLSPAN="1" ALIGN="LEFT">
<CODE>posix-i/o</CODE> </TD><TD COLSPAN="1" ALIGN="LEFT"> operations on ports </TD></TR>
<TR><TD COLSPAN="1" ALIGN="LEFT">
<CODE>posix-time</CODE> </TD><TD COLSPAN="1" ALIGN="LEFT"> time functions </TD></TR>
<TR><TD COLSPAN="1" ALIGN="LEFT">
<CODE>posix-users</CODE> </TD><TD COLSPAN="1" ALIGN="LEFT"> users and groups </TD></TR>
<TR><TD COLSPAN="1" ALIGN="LEFT">
<CODE>posix-regexps</CODE> </TD><TD COLSPAN="1" ALIGN="LEFT"> regular expression matching </TD></TR>
<TR><TD COLSPAN="1" ALIGN="LEFT">
<CODE>posix</CODE> </TD><TD COLSPAN="1" ALIGN="LEFT"> all of the above
</TD></TR></TABLE>

</CENTER></BLOCKQUOTE>
<P>Scheme&nbsp;48's POSIX interface differs from
 Scsh's <A HREF="s48manual_90.html#10">[10]</A><A HREF="s48manual_90.html#11">[11]</A> in several ways.
The interface here lacks Scsh's high-level constructs and utilities,
 such as the process notation, <CODE>awk</CODE> procedure, and parsing
 utilities.
Scheme&nbsp;48 uses distinct types for some values that Scsh leaves
 as symbols or unboxed integers; these include file types, file modes,
 and user and group ids.
Many of the names and other interface details are different, as well.
<P><MENU>
<LI><A HREF="s48manual_79.html">Process primitives</A>
<LI><A HREF="s48manual_80.html">Signals</A>
<LI><A HREF="s48manual_81.html">Process environment</A>
<LI><A HREF="s48manual_82.html">Users and groups</A>
<LI><A HREF="s48manual_83.html">OS and machine identification</A>
<LI><A HREF="s48manual_84.html">Files and directories</A>
<LI><A HREF="s48manual_85.html">Time</A>
<LI><A HREF="s48manual_86.html">I/O</A>
<LI><A HREF="s48manual_87.html">Regular expressions</A>
<LI><A HREF="s48manual_88.html">C to Scheme correspondence</A>
</MENU>
<P>
  
Previous: <A HREF="s48manual_78.html">Access to POSIX</A> | Next: <A HREF="s48manual_78.html">Access to POSIX</A></BODY></HTML>
